#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#include "semaforos.h"

#define erro_param "iniciliaza [-items num_items]"

int main(int argc, char *argv[]) {
	int items = 10;
	/** VERIFICACION DE PARAMETROS **/
	switch (argc) {
	case 1:
		break;
	case 3:
		if (strcmp(argv[1], "-items"))
			sair(MAL_PARAM, erro_param);
		items = atoi(argv[2]);
		if (items < 1 || items > MAX_ITEMS)
			sair(MAL_PARAM, "Numero de items incorrecto.");
		break;
	default:
		sair(MAL_PARAM, erro_param);
	}
	/** FIN DA VERIFICACION DE PARAMETROS **/

	/** CREACION DOS SEMAFOROS E DO BUFFER**/
	crearSemaforos();
	
	inicializarSemaforo(MUTEX,   1);
	inicializarSemaforo(BALEIRO, items);
	inicializarSemaforo(CHEO,    0);
	
	crearBuffer(items);
	/** FIN DA CREACION DOS SEMAFOROS E DO BUFFER**/

	return (EXIT_SUCCESS);
}

